package com.sinry.common.core.exceptions;

import com.sinry.common.core.exceptions.exception.BaseException;
import org.springframework.util.ObjectUtils;

/**
 * @author linxinlei
 * @project sinry-cloud
 * @description 断言
 * @date 2022/5/28
 **/
public interface Assert extends IResponseEnum{


    /**
     * 创建异常
     *
     * @param message   异常信息
     * @return          异常类
     */
    BaseException newException(String message);

    /**
     * 断言不为空
     *
     * @param o                 断言对象
     * @throws BaseException    异常类型
     */
    default void assertNotNull(Object o) throws BaseException {
        if (ObjectUtils.isEmpty(o)) {
            throw newException(this.getMessage());
        }
    }
}
